<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  
  <title>Java后端开发学习路线-2020flag | rongshen</title>
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  
  
  
<link rel="stylesheet" href="/css/style.css">

  
    
<link rel="stylesheet" href="/css/highlight.css">

  
  <meta name="description" content="整理自B站up主codesheep程序羊，语言只是一种手段，思想才是灵魂。">
<meta property="og:type" content="article">
<meta property="og:title" content="Java后端开发学习路线-2020flag">
<meta property="og:url" content="http://example.com/2020/04/14/Java%E5%AD%A6%E4%B9%A0%E8%B7%AF%E7%BA%BF-2020flag/index.html">
<meta property="og:site_name" content="rongshen">
<meta property="og:description" content="整理自B站up主codesheep程序羊，语言只是一种手段，思想才是灵魂。">
<meta property="og:locale" content="en_US">
<meta property="article:published_time" content="2020-04-14T02:42:01.000Z">
<meta property="article:modified_time" content="2020-09-25T15:03:14.025Z">
<meta property="article:author" content="John Doe">
<meta property="article:tag" content="plan">
<meta name="twitter:card" content="summary"><meta name="generator" content="Hexo 6.1.0"></head>

<body>
  <div id="wrapper">
    <header id="header">
  <h1 id="title">
    <a href="/">rongshen</a>
  </h1>
  <nav>
    
    
      
      <a class="nav-link" href="/">Home</a>
    
      
        <span class="nav-spacer">×</span>
      
      <a class="nav-link" href="/archives">Archives</a>
    
      
        <span class="nav-spacer">×</span>
      
      <a class="nav-link" target="_blank" rel="noopener" href="https://github.com/Aaron-boom">Github</a>
    
      
        <span class="nav-spacer">×</span>
      
      <a class="nav-link" href="/2020/04/13/About-Me/">About</a>
    
    
  </nav>
</header>

    <div id="content">
      <article id="post-Java学习路线-2020flag" class="article article-type-post" itemprop="blogPost" itemscope>
  <div class="article-inner">
    
      <header class="article-header">
        
  
    <h2 class="article-title" itemprop="headline name">
      Java后端开发学习路线-2020flag
    </h2>
  


        <div class="article-meta">
          <time class="article-date" datetime="2020-04-14T02:42:01.000Z" itemprop="datePublished">2020-04-14</time>

          
        </div>
      </header>
    
    <div class="article-entry" itemprop="articleBody">
      
      
        <blockquote>
<p>整理自B站up主codesheep程序羊，语言只是一种手段，思想才是灵魂。</p>
</blockquote>
<span id="more"></span>

<h2 id="1、Java必读书籍推荐"><a href="#1、Java必读书籍推荐" class="headerlink" title="1、Java必读书籍推荐"></a>1、Java必读书籍推荐</h2><ul>
<li><input disabled="" type="checkbox"> 《java编程思想》 </li>
<li><input disabled="" type="checkbox"> 《java并发编程实战》 </li>
<li><input disabled="" type="checkbox"> 《深入理解java虚拟机》</li>
<li><input disabled="" type="checkbox"> 《函数式编程思维》</li>
<li><input disabled="" type="checkbox"> 《tcp&#x2F;ip详解》</li>
<li><input disabled="" type="checkbox"> 《鸟哥的linux私房菜》 </li>
<li><input disabled="" type="checkbox"> 《spring mvc＋mybatis开发从入门到精通》 </li>
<li><input disabled="" type="checkbox"> 《spring技术内幕》</li>
<li><input disabled="" type="checkbox"> 《elasticsearch服务器开发》 </li>
<li><input disabled="" type="checkbox"> 《redis入门指南》</li>
</ul>
<h2 id="2、编程基础"><a href="#2、编程基础" class="headerlink" title="2、编程基础"></a><font color=#B22222>2、编程基础</font></h2><h3 id="2-1、java语言："><a href="#2-1、java语言：" class="headerlink" title="2.1、java语言："></a>2.1、java语言：</h3><h4 id="2-1-1、语言基础："><a href="#2-1-1、语言基础：" class="headerlink" title="2.1.1、语言基础："></a>2.1.1、语言基础：</h4><ul>
<li>基础语法、面向对象、接口、容器、异常、泛型、反射、注解、I&#x2F;O、图形化（如Swing）</li>
</ul>
<h4 id="2-1-2、JVM："><a href="#2-1-2、JVM：" class="headerlink" title="2.1.2、JVM："></a>2.1.2、JVM：</h4><ul>
<li>类加载机制、字节码执行机制、JVM内存模型、GC垃圾回收、JVM性能监控与故障定位、JVM调优</li>
</ul>
<h4 id="2-1-3、并发-x2F-多线程："><a href="#2-1-3、并发-x2F-多线程：" class="headerlink" title="2.1.3、并发&#x2F;多线程："></a>2.1.3、并发&#x2F;多线程：</h4><ul>
<li>并发编程基础、线程池、锁、并发容器、原子类、JUC并发工具类</li>
</ul>
<h3 id="2-2、数据结构和算法："><a href="#2-2、数据结构和算法：" class="headerlink" title="2.2、数据结构和算法："></a>2.2、数据结构和算法：</h3><h4 id="2-2-1、数据结构："><a href="#2-2-1、数据结构：" class="headerlink" title="2.2.1、数据结构："></a>2.2.1、数据结构：</h4><ul>
<li>字符串、数组、链表、二叉树、堆&#x2F;栈&#x2F;队列、哈希</li>
</ul>
<h4 id="2-2-2、算法："><a href="#2-2-2、算法：" class="headerlink" title="2.2.2、算法："></a>2.2.2、算法：</h4><ul>
<li>查找、排序、贪心、分治、动态规划、回溯</li>
</ul>
<h3 id="2-3、计算机网络："><a href="#2-3、计算机网络：" class="headerlink" title="2.3、计算机网络："></a>2.3、计算机网络：</h3><ul>
<li>ARP协议、IP&#x2F;ICMP协议、TCP&#x2F;UDP协议、DNS&#x2F;HTTP&#x2F;HTTPS协议、Session&#x2F;Cookie</li>
</ul>
<h3 id="2-4、数据库-x2F-SQL："><a href="#2-4、数据库-x2F-SQL：" class="headerlink" title="2.4、数据库&#x2F;SQL："></a>2.4、数据库&#x2F;SQL：</h3><ul>
<li>SQL语言书写、SQL语句优化、事务以及隔离级别、索引、锁</li>
</ul>
<h3 id="2-5、操作系统："><a href="#2-5、操作系统：" class="headerlink" title="2.5、操作系统："></a>2.5、操作系统：</h3><ul>
<li>进程&#x2F;线程、并发&#x2F;锁、内存管理和调度、I&#x2F;O原理</li>
</ul>
<h3 id="2-6、设计模式："><a href="#2-6、设计模式：" class="headerlink" title="2.6、设计模式："></a>2.6、设计模式：</h3><ul>
<li>单例、工厂、代理、策略、模板方法、观察者、适配器、责任链、建造者</li>
</ul>
<h2 id="3、研发工具"><a href="#3、研发工具" class="headerlink" title="3、研发工具"></a><font color=#B22222>3、研发工具</font></h2><h3 id="3-1、集成开发环境："><a href="#3-1、集成开发环境：" class="headerlink" title="3.1、集成开发环境："></a>3.1、集成开发环境：</h3><ul>
<li>Eclipse、Intellij IDEA、VS Code</li>
</ul>
<h3 id="3-2、Linux系统："><a href="#3-2、Linux系统：" class="headerlink" title="3.2、Linux系统："></a>3.2、Linux系统：</h3><ul>
<li>Linux常用命令、基本Shell脚本</li>
</ul>
<h3 id="3-3、代码管理工具："><a href="#3-3、代码管理工具：" class="headerlink" title="3.3、代码管理工具："></a>3.3、代码管理工具：</h3><ul>
<li>Git、SVN</li>
</ul>
<h3 id="3-4、项目管理-x2F-构建工具："><a href="#3-4、项目管理-x2F-构建工具：" class="headerlink" title="3.4、项目管理&#x2F;构建工具："></a>3.4、项目管理&#x2F;构建工具：</h3><ul>
<li>Maven、Gradle</li>
</ul>
<h2 id="4、应用框架"><a href="#4、应用框架" class="headerlink" title="4、应用框架"></a>4、应用框架</h2><h3 id="4-1、后端："><a href="#4-1、后端：" class="headerlink" title="4.1、后端："></a>4.1、后端：</h3><h4 id="4-1-1、Spring家族："><a href="#4-1-1、Spring家族：" class="headerlink" title="4.1.1、Spring家族："></a><font color=#B22222>4.1.1、Spring家族：</font></h4><ol>
<li>Spring：<ul>
<li>IOC、AOP</li>
</ul>
</li>
<li>Spring MVC：</li>
<li>Spring boot：<ol>
<li>自动配置、开箱即用</li>
<li>整合web</li>
<li>整合数据库（事务问题）</li>
<li>整合权限：<ul>
<li>Shiro、Spring Security</li>
</ul>
</li>
<li>整合各种中间件：<ul>
<li>缓存、MQ、RPC框架、NIQ框架等</li>
</ul>
</li>
</ol>
</li>
</ol>
<h4 id="4-1-2、服务器软件："><a href="#4-1-2、服务器软件：" class="headerlink" title="4.1.2、服务器软件："></a><font color=#B22222>4.1.2、服务器软件：</font></h4><ol>
<li>Web服务器：<ul>
<li>Nginx</li>
</ul>
</li>
<li>应用服务器：<ul>
<li>Tomcat、Jetty、Undertow</li>
</ul>
</li>
</ol>
<h4 id="4-1-3、中间件："><a href="#4-1-3、中间件：" class="headerlink" title="4.1.3、中间件："></a>4.1.3、中间件：</h4><ol>
<li>缓存：<ol>
<li><font color=#B22222>Redis：</font><ul>
<li>5大数据类型、事务、消息通知、管道、持久化、集群</li>
</ul>
</li>
<li>memcache</li>
</ol>
</li>
<li><font color=#B22222>消息队列：</font><ul>
<li>RocketMQ、RabbitMQ、Kafka</li>
</ul>
</li>
<li>RPC框架：<ul>
<li>Dubbo、gRPC、Thrift、Spring Cloud、Netty</li>
</ul>
</li>
</ol>
<h4 id="4-1-4、数据库："><a href="#4-1-4、数据库：" class="headerlink" title="4.1.4、数据库："></a><font color=#B22222>4.1.4、数据库：</font></h4><ol>
<li>ORM框架：<ul>
<li>MyBatis、Hibernate、 JPA</li>
</ul>
</li>
<li>连接池：<ul>
<li>Druid、HikariCP、 C3P0</li>
</ul>
</li>
<li>分库分表：<ul>
<li>MyCat、Sharding-JDBC、 Sharding-Sphere</li>
</ul>
</li>
</ol>
<h4 id="4-1-5、搜索引擎："><a href="#4-1-5、搜索引擎：" class="headerlink" title="4.1.5、搜索引擎："></a>4.1.5、搜索引擎：</h4><ul>
<li>ElestaicSearch、Solr</li>
</ul>
<h4 id="4-1-6、分布式-x2F-微服务："><a href="#4-1-6、分布式-x2F-微服务：" class="headerlink" title="4.1.6、分布式&#x2F;微服务："></a>4.1.6、分布式&#x2F;微服务：</h4><ol>
<li>服务发现&#x2F;注册：<ul>
<li>Eureka、Consul、Zookeeper、Nacos</li>
</ul>
</li>
<li>网关：<ul>
<li>Zuul、Gateway</li>
</ul>
</li>
<li>服务调用（负载均衡）：<ul>
<li>Ribbon、Feign</li>
</ul>
</li>
<li>熔断&#x2F;降级：<ul>
<li>Hystrix</li>
</ul>
</li>
<li>配置中心：<ul>
<li>Config、Apollo、Nacos</li>
</ul>
</li>
<li>认证和鉴权：<ul>
<li>Shiro、Spring Security、OAuth2、SSO</li>
</ul>
</li>
<li>分布式事务：<ol>
<li>JTA接口：<ul>
<li>Atomikos组件</li>
</ul>
</li>
<li>2PC、3PC</li>
<li>XA模式</li>
<li>TCC模式：<ul>
<li>tcc-transaction、ByteTCC、EasyTransaction、seata</li>
</ul>
</li>
<li>SAGA模式：<ul>
<li>ServiceComb、Seata</li>
</ul>
</li>
<li>LCN模式：<ul>
<li>tx-lcn</li>
</ul>
</li>
</ol>
</li>
<li>任务调度：<ul>
<li>Quartz、Elestic-Job</li>
</ul>
</li>
<li>链路追踪与监控：<ul>
<li>Zipkin、Sleuth、Skywalking</li>
</ul>
</li>
<li>日志分析与监控：<ol>
<li>ELK：<ul>
<li>ElasticSearch、Logstash、Kibana</li>
</ul>
</li>
</ol>
</li>
</ol>
<h4 id="4-1-7、虚拟化-x2F-容器化："><a href="#4-1-7、虚拟化-x2F-容器化：" class="headerlink" title="4.1.7、虚拟化&#x2F;容器化："></a>4.1.7、虚拟化&#x2F;容器化：</h4><ol>
<li>容器技术：<ul>
<li>Docker</li>
</ul>
</li>
<li>容器编排技术：<ul>
<li>Kubernetes、Swarm</li>
</ul>
</li>
</ol>
<h3 id="4-2、前端："><a href="#4-2、前端：" class="headerlink" title="4.2、前端："></a>4.2、前端：</h3><h4 id="4-2-1、基础套餐："><a href="#4-2-1、基础套餐：" class="headerlink" title="4.2.1、基础套餐："></a>4.2.1、基础套餐：</h4><ol>
<li>三大件：<ul>
<li>HTML、JavaScript、CSS</li>
</ul>
</li>
<li>基础库：<ul>
<li>jQuery、Ajax</li>
</ul>
</li>
</ol>
<h4 id="4-2-2、模板框架："><a href="#4-2-2、模板框架：" class="headerlink" title="4.2.2、模板框架："></a>4.2.2、模板框架：</h4><ul>
<li>JSP&#x2F;JSTL、Thymeleaf、FreeMarker</li>
</ul>
<h4 id="4-2-3、组件化框架："><a href="#4-2-3、组件化框架：" class="headerlink" title="4.2.3、组件化框架："></a>4.2.3、组件化框架：</h4><ul>
<li>Node、Vue、React、Angular</li>
</ul>
<h2 id="5、运维知识"><a href="#5、运维知识" class="headerlink" title="5、运维知识"></a>5、运维知识</h2><h3 id="5-1、Web服务器："><a href="#5-1、Web服务器：" class="headerlink" title="5.1、Web服务器："></a>5.1、Web服务器：</h3><ul>
<li>Nginx</li>
</ul>
<h3 id="5-2、应用服务器："><a href="#5-2、应用服务器：" class="headerlink" title="5.2、应用服务器："></a>5.2、应用服务器：</h3><ul>
<li>Tomcat、Jetty、Undertow</li>
</ul>
<h3 id="5-3、CDN加速"><a href="#5-3、CDN加速" class="headerlink" title="5.3、CDN加速"></a>5.3、CDN加速</h3><h3 id="5-4、持续集成-x2F-持续发布："><a href="#5-4、持续集成-x2F-持续发布：" class="headerlink" title="5.4、持续集成&#x2F;持续发布："></a>5.4、持续集成&#x2F;持续发布：</h3><ul>
<li>Jenkins</li>
</ul>
<h3 id="5-5、代码质量检查："><a href="#5-5、代码质量检查：" class="headerlink" title="5.5、代码质量检查："></a>5.5、代码质量检查：</h3><ul>
<li>Sonar</li>
</ul>
<h3 id="5-6、日志收集-x2F-分析："><a href="#5-6、日志收集-x2F-分析：" class="headerlink" title="5.6、日志收集&#x2F;分析："></a>5.6、日志收集&#x2F;分析：</h3><ul>
<li>ELK</li>
</ul>
<h2 id="6、成神之路"><a href="#6、成神之路" class="headerlink" title="6、成神之路"></a>6、成神之路</h2><ul>
<li>徒手撕源码、光脚造轮子、闭眼深度调优、吊打面试官</li>
</ul>
<h2 id="7、平稳降落"><a href="#7、平稳降落" class="headerlink" title="7、平稳降落"></a>7、平稳降落</h2><ul>
<li>调整心态、注意健康，飞的多高不重要，重要的是如何平稳降落</li>
</ul>
<h2 id="8、其他"><a href="#8、其他" class="headerlink" title="8、其他"></a>8、其他</h2><ul>
<li>LeetCode</li>
<li>英语</li>
<li>算法类知识</li>
</ul>

      
    </div>
    
    
    <div class="article-category">
      
        <b>Categories:</b>
        <a class="article-category-link" href="/categories/%E5%AD%A6%E4%B9%A0/">学习</a>
      
      
        <br/>
      
      
        <b>Tags:</b>
        <a class="article-tag-none-link" href="/tags/plan/" rel="tag">plan</a>
      
    </div>
    
    
  </div>
</article>

  
<nav id="article-nav" class="article-nav">
  
    <a href="/2020/04/14/%E8%A7%A3%E5%86%B3CDH%E5%B9%B3%E5%8F%B0%E6%90%AD%E5%BB%BA%E6%97%B6%E7%A6%BB%E7%BA%BF%E5%AE%89%E8%A3%85%E4%BE%9D%E8%B5%96%E5%8C%85%E7%9A%84%E6%96%B9%E6%B3%95/" id="article-nav-newer" class="article-nav-link-wrap newer">
      <strong class="article-nav-caption">Newer</strong>
      <div class="article-nav-title">
        
          解决CDH平台搭建时离线安装依赖包的方法
        
      </div>
    </a>
  
  
    <a href="/2020/04/13/About-Me/" id="article-nav-older" class="article-nav-link-wrap older">
      <strong class="article-nav-caption">Older</strong>
      <div class="article-nav-title">
        
          About Me
        
      </div>
    </a>
  
</nav>






    </div>
  </div>
  




<div id="settings-container">
  <div id="dark-mode">dark</div>
  <div id="sans-font">sans</div>
</div>
<script type="text/javascript">
let d=document,r=d.documentElement.style,f=r.setProperty.bind(r),l=localStorage,s=l.getItem('s')||(window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches),n=l.getItem('n'),m=d.getElementById("dark-mode"),b=()=>{f('--bg-color','#fafafa');f('--code-bg-color','#f4f4f4');f('--text-color','#212121');f('--secondary-color','#808080');f('--tertiary-color','#b0b0b0');f('--link-color','#b5c8cf');f('--link-hover-color','#618794');f('--link-bg-color','#dae4e7');f('--selection-color','#dae4e7');m.innerHTML="dark"},c=()=>{f('--bg-color','#212121');f('--code-bg-color','#292929');f('--text-color','#fff');f('--secondary-color','#c0c0c0');f('--tertiary-color','#6e6e6e');f('--link-color','#4d6b75');f('--link-hover-color','#96b1bb');f('--link-bg-color','#5d828e');f('--selection-color','#acc1c9');m.innerHTML="light"},o=d.getElementById("sans-font"),e=()=>{f('--body-stack','"Lora", "Georgia", "Times New Roman", serif');o.innerHTML="sans"},g=()=>{f('--body-stack','"Lato", "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", "Verdana", sans-serif');o.innerHTML="serif"};m.onclick=()=>{if(s==2){s=1;l.setItem('s',s);c()}else{s=2;l.setItem('s',s);b()}};o.onclick=()=>{if(n==2){n=1;l.setItem('n',n);g()}else{n=2;l.setItem('n',n);e()}};if(!s){s=2;l.setItem('s',2)};if(s==1){c()};if(!n){n=2;l.setItem('n',2)};if(n==1){g()};
</script>




</body>
</html>
